package com.yanqu.road.logic.bussiness.activity;

import com.yanqu.road.entity.activity.ghost.GhostAttackRecord;
import com.yanqu.road.entity.activity.ghost.GhostBossData;
import com.yanqu.road.entity.activity.ghost.GhostData;
import com.yanqu.road.entity.activity.ghost.GhostDisperseData;
import com.yanqu.road.entity.activity.ghost.GhostDispersePlayer;
import com.yanqu.road.entity.activity.ghost.GhostUnionNews;
import com.yanqu.road.entity.activity.ghost.GhostUserData;
import com.yanqu.road.entity.activity.ghost.config.GhostBossConfig;
import com.yanqu.road.logic.bussiness.DaoHelper;

import java.util.List;
import java.util.Map;

public class GhostActivityBusiness {

    /**
     * boss配置
     */

    public static List<GhostBossConfig> getGhostBossConfigList(int activityId) {
        return DaoHelper.getGhostBossConfigDaoImpl().getGhostBossConfigList(activityId);
    }

    /**
     * boss数据
     */

    public static Map<Integer, Map<Integer, GhostBossData>> getGhostBossDataMap(int activityId, int batchNo) {
        return DaoHelper.getGhostBossDataDaoImpl().getGhostBossDataMap(activityId, batchNo);
    }

    public static boolean addGhostBossData(GhostBossData data) {
        return DaoHelper.getGhostBossDataDaoImpl().add(data);
    }

    public static boolean updateGhostBossData(GhostBossData data) {
        return DaoHelper.getGhostBossDataDaoImpl().update(data);
    }

    public static Integer getGhostMaxBossId(int activityId) {
        return DaoHelper.getGhostBossDataDaoImpl().getGhostMaxBossId(activityId);
    }

    /**
     * 跨服数据
     */

    public static GhostData getGhostData(int activityId) {
        return DaoHelper.getGhostDataDaoImpl().getGhostData(activityId);
    }

    public static boolean addGhostData(GhostData data) {
        return DaoHelper.getGhostDataDaoImpl().add(data);
    }

    public static boolean updateGhostData(GhostData data) {
        return DaoHelper.getGhostDataDaoImpl().update(data);
    }

    /**
     * 获取商会情报
     */
    public static Map<String, Map<Integer, List<GhostUnionNews>>> getGhostUnionNewsMap(int activityId, int batchNo) {
        return DaoHelper.getGhostUnionNewsDaoImpl().getGhostUnionNewsMap(activityId, batchNo);
    }

    public static Integer getGhostMaxNewsId(int activityId) {
        return DaoHelper.getGhostUnionNewsDaoImpl().getGhostUnionNewsMaxId(activityId);
    }

    public static boolean addGhostUnionNews(GhostUnionNews data) {
        return DaoHelper.getGhostUnionNewsDaoImpl().add(data);
    }

    public static boolean updateGhostUnionNews(GhostUnionNews data) {
        return DaoHelper.getGhostUnionNewsDaoImpl().update(data);
    }

    /**
     * 获取用户数据
     */

    public static GhostUserData getGhostUserData(int activityId, long userId) {
        return DaoHelper.getGhostUserDataDaoImpl().getGhostUserData(activityId, userId);
    }

    public static boolean addGhostUserData(GhostUserData data) {
        return DaoHelper.getGhostUserDataDaoImpl().add(data);
    }

    public static boolean updateGhostUserData(GhostUserData data) {
        return DaoHelper.getGhostUserDataDaoImpl().update(data);
    }

    /**
     * 获取送财数据
     */

    public static Map<Integer, List<GhostDisperseData>> getGhostDisperseDataMap(int activityId, int batchNo) {
        return DaoHelper.getGhostDisperseDataDaoImpl().getGhostDisperseDataMap(activityId, batchNo);
    }

    public static Integer getGhostMaxDisperseId(int activityId) {
        return DaoHelper.getGhostDisperseDataDaoImpl().getGhostMaxDisperseId(activityId);
    }

    public static boolean addGhostDisperseData(GhostDisperseData data) {
        return DaoHelper.getGhostDisperseDataDaoImpl().add(data);
    }

    public static boolean updateGhostDisperseData(GhostDisperseData data) {
        return DaoHelper.getGhostDisperseDataDaoImpl().update(data);
    }

    /**
     * 攻击记录
     */

    public static Map<Integer, Map<Long, GhostAttackRecord>> getGhostAttackRecordMap(int activityId, int batchNo) {
        return DaoHelper.getGhostAttackRecordDaoImpl().getGhostAttackRecordMap(activityId, batchNo);
    }

    public static boolean addGhostAttackRecord(GhostAttackRecord data) {
        return DaoHelper.getGhostAttackRecordDaoImpl().add(data);
    }

    public static boolean updateGhostAttackRecord(GhostAttackRecord data) {
        return DaoHelper.getGhostAttackRecordDaoImpl().update(data);
    }

    /**
     * 送财触发者
     */

    public static Map<Integer, Map<Integer, GhostDispersePlayer>> getGhostDispersePlayerMap(int activityId) {
        return DaoHelper.getGhostDispersePlayerDaoImpl().getGhostDispersePlayerMap(activityId);
    }

    public static boolean addGhostDispersePlayer(GhostDispersePlayer data) {
        return DaoHelper.getGhostDispersePlayerDaoImpl().add(data);
    }

    public static boolean updateGhostDispersePlayer(GhostDispersePlayer data) {
        return DaoHelper.getGhostDispersePlayerDaoImpl().update(data);
    }
}
